package com.freemalll.merchant.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.freemalll.merchant.common.AbstractBaseEntity;
import com.freemalll.merchant.common.CompareField;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;

/**
 * <p>
 * 商户职业许可证信息
 * </p>
 *
 * @author songshixiong
 * @since 2025-06-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mer_medical_license")
@Schema(description = "商户执业许可证信息")
public class MerMedicalLicense extends AbstractBaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "medl_id", type = IdType.ASSIGN_UUID)
    @CompareField(value = "medl_id", skip = true)
    private String medlId;

    @Schema(description = "所属商户")
    @TableField("mer_id")
    @CompareField(value = "mer_id", skip = true)
    private String merId;

    @Schema(description = "机构名称")
    @TableField("medl_name")
    @CompareField("medl_name")
    private String medlName;

    @Schema(description = "法人代表")
    @TableField("medl_legal_man")
    @CompareField("medl_legal_man")
    private String medlLegalMan;

    @Schema(description = "商户类型 1:诊所 2:门诊部 3:医院")
    @TableField("medl_type")
    @CompareField("medl_type")
    private Integer medlType;

    @Schema(description = "主要负责人")
    @TableField("medl_principal")
    @CompareField("medl_principal")
    private String medlPrincipal;

    @Schema(description = "执业登记号")
    @TableField("medl_no")
    @CompareField("medl_no")
    private String medlNo;

    @Schema(description = "有效期限起")
    @TableField("medl_validate_start")
    @CompareField("medl_validate_start")
    private String medlValidateStart;

    @Schema(description = "有效期限止")
    @TableField("medl_validate_end")
    @CompareField("medl_validate_end")
    private String medlValidateEnd;

    @Schema(description = "许可登记省")
    @TableField("medl_province")
    @CompareField("medl_province")
    private String medlProvince;

    @Schema(description = "许可登记市")
    @TableField("medl_city")
    @CompareField("medl_city")
    private String medlCity;

    @Schema(description = "许可登记区")
    @TableField("medl_country")
    @CompareField("medl_country")
    private String medlCountry;

    @Schema(description = "许可登记详细地址")
    @TableField("medl_address")
    @CompareField("medl_address")
    private String medlAddress;

    @Schema(description = "许可证类型 1:医疗许可证 2:卫生许可证")
    @TableField("license_type")
    @CompareField("license_type")
    private Integer licenseType;

}
